// =====================================================================================
// 
//       Filename:  main.cpp
// 
//    Description:  
// 
//        Version:  1.0
//        Created:  26.01.2010 20:42:22
//       Revision:  none
//       Compiler:  g++
// 
//         Author:  Dmitriy Serdyuk (), serdyuk.dmitriy@gmail.com
//        Company:  
// 
// =====================================================================================
#include"poker.h"
#include"pack.h"
#include <stdio.h>
int main(int argc, const char *argv[]){

    Cards cards, cards1;
    Card temp;
    
    temp.myRange = A;
    temp.mySuit = hearts;
    cards.push_back(temp);

    temp.myRange = K;
    temp.mySuit = hearts;
    cards.push_back(temp);

    temp.myRange = Q;
    temp.mySuit = hearts;
    cards.push_back(temp);

    temp.myRange = J;
    temp.mySuit = hearts;
    cards.push_back(temp);

    temp.myRange = f10;
    temp.mySuit = hearts;
    cards.push_back(temp);
   
    temp.myRange = f4;
    temp.mySuit = hearts;
    cards.push_back(temp);

    std::cerr << cards << '\n';
    if (Game::isRoyalFlush(cards)) {
        std::cerr << "Royal  ";
        Cards t = Game::getRoyalFlush(cards);
        std::cerr << t;
    }
    if (Game::isStraightFlush(cards)) {
        std::cerr << "strfl ";
        Cards t = Game::getStraightFlush(cards);
        std::cerr << t;
    }
    if (Game::isQuads(cards)) {
        std::cerr << "quads  ";
        Cards t = Game::getQuads(cards);
        std::cerr << t;
    }
    if (Game::isFullHouse(cards)) {
        std::cerr << "full ";
        Cards t = Game::getFullHouse(cards);
        std::cout << t;
    }
    if (Game::isFlush(cards)) {
        std::cout << "flush\n";
        Cards t = Game::getFlush(cards);
        std::cout << t;
    }
    if (Game::isStraight(cards)) {
        std::cout << "str\n";
        Cards t = Game::getStraight(cards);
        std::cout << t;
    } else {
        std::cout << "no str";
    }
    if (Game::isSet(cards)) {
        std::cout << "set\n";
        Cards t = Game::getSet(cards);
        std::cout << t;
    }
    if (Game::isTwoPairs(cards)) {

        std::cout << "2pair\n";
        Cards t = Game::getTwoPairs(cards);
        std::cout << t;
    }
    if (Game::isOnePair(cards)) {
        std::cout << "1pair\n";
        Cards t = Game::getOnePair(cards);
        std::cout << t;
    }

    
    return 0;
}
